package project.service;

import project.bean.UserBean;
import project.dao.IUserDAO;
import project.dao.impl.UserDAOImpl;


public interface IUserService {

    /**
     *  登陆
     * @param id 账号
     * @param pwd 密码
     * @return 用户对象，如果登陆失败，返回 null
     */
    UserBean login(String id, String pwd);
    /**
     * 存钱，同时添加交易明细
     *
     * @param id    账号
     * @param money 金额
     */
    void save(String  id, double money);

    /**
     * 取钱
     1、根据帐号查询用户对象
     2、判断用户余额是否超支，如果超支，返回false
     3、否则，完成余额减 少
     4、添加交易明细
     *
     * @param id    账号
     * @param money 金额
     @return  取钱是否成功
     */
    boolean get(String id, double money);

    /**
     * 查询
     *
     * @param id 账号
     */
    UserBean query(String id);

    /**
     * 转账
     1、判断转帐帐号是否存在，如果不存在，返回"转帐帐号不存在"
     2、判断登陆帐号余额是否充足，如果余额不足，返回“余额 不足”
     3、登陆帐号减少金额，转帐帐号添加金额
     4、登陆帐号添加转出交易记录，转帐帐号添加转入交易记录
     *
     * @param id      登陆账号
     * @param otherId 对方账号
     * @param money   金额
     @return 转帐失败信息，如果转帐成功，返回null
      */
    String trans(String id, String otherId, double money);

}
